import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

//导出仓库实例
export default new Vuex.Store({
  //vue的核心(5个)

  //状态(里面放的就是需要被大规模管理的东西，需要共享的数据)
  //对于数据的格式没有什么要求，里面可以放很多
  state: {
    //在这里来声明项目中需使用的状态的初始值
    //此处state有点data的意思，但是存在区别
    //data是给组件用的，并且是当前的组件：而vuex的state是全局的，
    //给整个项目用的。
    // username:'张三',
    // age:18
  },

  //里面放的是修改state的方法(同步代码)
  //方法要求两个形参(至少1个)
  //    形参1：state
  //    形参2：影响state修改的数据
  mutations: {},

  //里面放的是修改state的方法(异步代码)
  //方法的要求俩个形参(至少一个)
  //    形参1:context对象(上下文对象->stoet对象)，因为异步actions
  //里的方法并不会真的自己去改数据，而是调用mutations里面的方法进行数据的修改
  //    形参2：影响state修改的数据
  actions: {},

  //数据的装饰/加工工厂，对于数据的格式上的输出处理
  //方法要求一个形参：state
  // 得到一个retyrn语句
  getters: {},

  //模块化对象
  modules: {}
})
